/*
  学习目标：通过React基础知识，实现路径切换，界面切换
  步骤：
     1. 监听路径的变化
      1. 页面渲染完成后，监听 hashchange 拿到变化后的 hash
      2. 储存数据，建议通过slice直接把hash的 #去掉
     2. 根据当前路径，渲染不同的组件
     3. 进来就能显示首页
*/
import React from 'react';

export default class App extends React.Component {
  state = {
    currentUrl: '/home',
  };
  componentDidMount() {
    window.addEventListener('hashchange', () => {
      // console.log('hash变化了 -----> ', window.location.hash);
      this.setState({ currentUrl: window.location.hash.slice(1) });
    });
  }
  render() {
    // cs
    const { currentUrl } = this.state;
    return (
      <div>
        <h1>app组件</h1>
        <ul>
          <li>
            <a href="#/home">首页</a>
          </li>
          <li>
            <a href="#/my">我的音乐</a>
          </li>
          <li>
            <a href="#/friend">我的朋友</a>
          </li>
        </ul>
        {currentUrl === '/home' && <Home></Home>}
        {currentUrl === '/my' && <MyMusic></MyMusic>}
        {currentUrl === '/friend' && <Friend></Friend>}
      </div>
    );
  }
}

function Home() {
  return <h1>我是首页组件</h1>;
}

function MyMusic() {
  return <h1>我是我的音乐组件</h1>;
}

function Friend() {
  return <h1>我是朋友组件</h1>;
}
